#include <stdio.h>
#include <unistd.h> // 包含write函数
#include <fcntl.h> // 包含open函数
#include <sys/stat.h> // 包含open函数
#include <time.h> // 包含time函数

int main() {

    struct stat st;

    printf("文件描述符stdout：%d\n", fileno(stdout)); // 获取标准输出的描述符
    printf("文件描述符stderr：%d\n", fileno(stderr)); // 获取标准错误的描述符
    printf("文件描述符stdin：%d\n", fileno(stdin)); // 获取标准输入的描述符
    int fd = open("aaa.txt", O_WRONLY | O_CREAT, S_IRWXU|S_IRWXG|S_IRWXO); // 打开文件
    printf("文件描述符aaa.txt：%d\n", fd); // 获取aaa.txt的描述符
    write(fd, "hello world", 11); // 写入文件
    int ret = fstat(fd, &st); // 获取文件状态
    printf("文件大小：%ld\n", st.st_size); // 获取文件大小
    printf("文件创建时间：%s\n", ctime(&st.st_ctime)); // 获取文件创建时间
    struct tm *lt = localtime(&st.st_mtime); // 获取文件修改时间
    printf("文件修改时间：%d-%d-%d %d:%d:%d\n", lt->tm_year+1900, lt->tm_mon+1, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);



    close(fd); // 关闭文件
    return 0;
}
